home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 17 / CU Amiga Magazine's Super CD-ROM 17 (1997)(EMAP Images)(GB)[!][issue 1997-12].iso / CUCD / Programming / DiceSource / README < prev    next >
Text File  |  1997-09-09  |  6KB  |  184 lines

  1.  
  2.                 DICE SOURCE CODE RELEASE README
  3.  
  4.     (c)Copyright 1992-1997 Obvious Implementations Corp.  Redistribution and
  5.        use is allowed under the terms of the DICE-LICENSE FILE,
  6.        DICE-LICENSE.TXT.
  7.  
  8.     Well, here it is.  The source to DICE.  I really meant to release this a
  9.     lot sooner.  I plead laziness :-)  Note that I haven't touched my Amiga
  10.     for quite a while, and the library support may very well be lacking.
  11.     Support up to the amiga 3.0 includes / library is included, but the
  12.     amiga includes themselves are not included because I am not sure what
  13.     the disposition of commodore's copyright is.
  14.  
  15.     DICE is a 68000 compiler.  It was written as an Amiga C compiler, but it
  16.     can really be used as a generic 68000 C compiler.  Even though I haven't
  17.     touched an Amiga for a while, I still use DICE on my FreeBSD box to 
  18.     compile 68000 projects.
  19.  
  20.     DICE will compile on an Amiga, linux, or FreeBSD machine.  Most of the
  21.     utilities will generate the correct 68000 byte ordering even when compiled
  22.     on an Intel box.  It will generate Amiga binaries and utilities are 
  23.     included to generate ROMable code.   All DICE features work and the
  24.     relocateable and small-data models are incredibly powerful when used in
  25.     an embedded environment.
  26.  
  27.     My email address and web pages
  28.  
  29.     dillon@backplane.com
  30.     http://www.backplane.com/
  31.     http://www.obviously.com/
  32.  
  33.     I am willing to maintain the source tree, at least for a little while.
  34.     Bug fixes should be emailed to me.
  35.  
  36. (I)  MISSING FILES
  37.  
  38.     There is some confusion as to whether the Amiga includes can be 
  39.     distributed.  Before commodore went belly-up, they did make the .FD
  40.     files free, so I am including the fd/ and clib/ subdirectories for
  41.     the 1.3, 2.0. and 3.0 includes but I am not including any of the
  42.     commodore structural includes (exec/, intuition/, etc...)
  43.  
  44.     If you have the amiga includes, the 1.3 includes should be placed in
  45.     include/amiga13, the 2.0 placed in include/amiga20, and so on.
  46.  
  47.     What this means is that you CAN generate an 'amiga.lib' and pragmas
  48.     from the .fd files, but the structural includes aren't available unless
  49.     you already have them.
  50.  
  51.     The amiga includes are only required if you are compiling the
  52.     compiler on the Amiga or compiling for an Amiga target.  These 
  53.     includes are not required if you use DICE to compile embedded 68000 code.
  54.  
  55. (II) COMPILING DICE UNDER UNIX FOR CROSS-COMPILING
  56.  
  57.     NOTE: floating point constants are not supported because they require
  58.     the Amiga FP library.  However, you can generate all amiga libraries
  59.     except those routines which employe FP constants from your 
  60.  
  61.     (0) Setup environment
  62.  
  63.     setenv DCCOPTS -3.0 -//
  64.     setenv DINCLUDE /home/dice/include/
  65.  
  66.     (assuming this is where you unpack the distribution)
  67.  
  68.     If your UNIX box uses intel byte ordering, the makefiles are setup
  69.     ok.  If it doesn't, you have to remove the -DINTELBYTEORDER option
  70.     from suplib/Makefile and src/*/Makefile.  Sorry!  This option must
  71.     be specified correctly for the DICE compiler on a UNIX box to produce
  72.     machine-independant (68000 byte-ordered) output files.
  73.  
  74.     Most people run UNIX on Intel platforms (e.g. FreeBSD).  If so you
  75.     do not have to modify the Makefiles... you leave -DINTELBYTEORDER in.
  76.  
  77.     (1) Make the suplemental library for UNIX.
  78.     
  79.     cd suplib
  80.     make
  81.     make install
  82.     make clean
  83.     cd ..
  84.  
  85.     (2) make the compiler and utilities
  86.  
  87.     NOTE: the main compiler does not support FP constants when compiled
  88.     under UNIX.
  89.  
  90.     cd src
  91.     make
  92.     make install
  93.     make clean
  94.     cd ..
  95.  
  96.     NOTE: if using csh/tcsh, you should 'rehash' after installing the
  97.     binaries and also make sure that your $path includes the location
  98.     of these binaries.
  99.  
  100.  
  101.     (3) AMIGA SPECIFIC AMIGAxxx.LIB EQUIVALENTS
  102.  
  103.     These libraries are provided precompiled in the distribution and may
  104.     also be regenerated.
  105.  
  106.     You can create amigaxxx.lib equivalents.  The auto library is used
  107.     to automatically open those system libraries used by the code.
  108.  
  109.     cd lib
  110.     dmake -f DMakefile.unix amiga13
  111.     dmake -f DMakefile.unix amiga20
  112.     dmake -f DMakefile.unix auto
  113.  
  114.     (4) ROM LIBRARY, AMIGA LIBRARIES
  115.  
  116.     These libraries are provided precompiled in the distribution and may
  117.     also be regenerated.
  118.  
  119.     You can create a machine-independant ROM library
  120.  
  121.     cd lib
  122.     dmake -f DMakefile.unix rom
  123.  
  124.     (5) AMIGA SUPPORT LIBRARIES
  125.  
  126.     These libraries are provided precompiled in the distribution and may
  127.     also be regenerated.
  128.  
  129.     DICE includes stdio, string, and other Amiga-specific support 
  130.     libraries.   If you have the amiga includes installed, you can compile
  131.     these libraries simply with:
  132.  
  133.     cd lib
  134.     dmake -f DMakefile.unix all
  135.  
  136. (III) COMPILING DICE UNDER THE AMIGA
  137.  
  138.     Yes you can do it.  Unfortunately, I haven't run the compile myself for
  139.     a long time so you will probably have to mess around with the various
  140.     DMakefile's.  The DMakefile's for the compiler & utilities look something
  141.     like:  src/dc1/DC1.DICE.  You compile by cd'ing into src/dc1 and then
  142.     doing a 'DMakefile -f DC1.DICE'.  You will have to setup a compilation
  143.     environment, though, and since I don't have an Amiga handy I can't give
  144.     you exact instructions.
  145.  
  146.     To compile DICE on the Amiga you need DICE.  This shouldn't be a problem,
  147.     I include full amiga compiler binaries.  I do not include the
  148.     commodore-specific Amiga includes, however... you need to get those
  149.     separately.
  150.  
  151. (IV) DIRECTORIES
  152.  
  153.     abin    amiga binaries
  154.     dlib    amiga/68000 support libraries
  155.  
  156.     ubin    unix binaries
  157.     ulib    unix support libraries
  158.  
  159.     src        primary utility and compiler source
  160.     lib        amiga/68000 support library source
  161.     suplib    unix support library source
  162.  
  163.     include    header files for amiga/68000 libraries, including
  164.         selected portions of the 1.3, 2.0, and 3.0 includes
  165.         (the clib and fd directories only), and the DICE
  166.         ANSI library.
  167.  
  168.     config    Various amiga-related DMakefile's for compiling
  169.         DICE (included as-is)
  170.  
  171.     doc        Library and compiler documentation
  172.         (included as-is)
  173.  
  174.  
  175.     installer    Bunches of installation scripts.  Included AS-IS.
  176.  
  177.     master    Random junk (used to be the disk template that I used
  178.         to make floppies).  Removed duplicate information that
  179.         already exists in other directories.
  180.  
  181.  
  182.                         -Matt
  183.  
  184.